PROGRAM main
  VAR
    // 重置计时器
    bReset AT %IX0.1 : BOOL;
    // 计时器小时数
    uliHours : ULINT;
    // 计时器分钟数
    uliMinutes : ULINT;
    // 计时器秒数
    uliSeconds : ULINT;
    // 计时器开始时间
    uliStartTime : ULINT;
    // 系统当前时间
    uliNow : ULINT;
    // 总的秒数
    uliTotalSeconds : ULINT;
    // 总的分钟数
    uliTotalMinutes : ULINT;
  END_VAR

uliNow := TIME_NOW_S();

uliTotalSeconds := uliNow - uliStartTime;
uliSeconds := uliTotalSeconds MOD 60;
uliHours := uliTotalSeconds / 3600;
uliTotalMinutes := uliTotalSeconds / 60;
uliMinutes := uliTotalMinutes MOD 60;

IF bReset THEN
  uliHours := 0;
  uliMinutes := 0;
  uliSeconds := 0;
  uliStartTime := uliNow;
END_IF
END_PROGRAM
